.\"
.\"	@(#)dump.8	1.2 (2.11BSD GTE) 1996/11/17
.\"
.TH DUMP 8
.UC 4
.SH NAME
dump \- incremental file system dump
.SH SYNOPSIS
.B dump
[0123456789BchfusTdWwn [\fIargument\fP\& ...]] [filesystem]
.SH DESCRIPTION
.I Dump
copies to magnetic tape all files
changed after a certain date
in the
.I filesystem.
.PP
The following options are supported by dump:
.TP 5
.B  0\-9
This number is the `dump level'.
All files modified since the last date stored
in the file
.I /etc/dumpdates
for the same filesystem at lesser levels
will be dumped.
If no date is determined by the level,
the beginning of time is assumed;
thus the option
.B 0
causes the entire filesystem to be dumped.
.TP 5
.B B records
The number of dump records per volume.  This option overrides the
calculation of tape size based on length and density.
.TP 5
.B c
This option requires no further options.  Used to specify that the
tape is a \fIcartridge\fP drive rather than a 9\-track.
.TP 5
.B h level
Honor the user 'nodump' flags only for dumps at or above the given
\fBlevel\fP.  The default honor level is 1, so that incremental backups
omit such files but full backups retain them.
.TP 5
.B f
Place the dump on the next 
.I argument 
file
instead of the tape.  If '-' is given then standard out (stdout) is written
to.
.TP 5
.B u
If the dump completes successfully,
write the date of the beginning of the dump on
file
.I /etc/dumpdates.
This file records a separate date for
each filesystem and each dump level.
The format of
.I /etc/dumpdates
is readable by people, consisting of one
free format record per line:
filesystem name, increment level
and
.I ctime(3)
format dump date.  
.I /etc/dumpdates
may be edited to change any of the fields,
if necessary.
Note that
.I /etc/dumpdates
is in a format different from that which previous versions of
.I dump
maintained in
.I /etc/ddate,
although the information content is identical.
.TP 5
.B s
The size of the dump tape is specified in feet.
The number of feet is taken from the next
.I argument.
When the specified size is reached,
.I dump
will wait for reels to be changed.
The default tape size is 2300 feet.
.TP 5
.B d
The density of the tape, expressed in BPI,
is taken from the next
.I argument.
This is used in calculating the amount of tape
used per reel. The default is 1600.
.TP 5
.B T date
Use the specified date as the starting time for the dump instead of
the time determined from looking in \fB/etc/dumpdates\fP.  The format
of \fBdate\fP is the same as that of \fIctime(3)\fP.  This option is
useful for automated dump scripts that wish to dump over a specific 
period of time.  The \fBT\fP option is mutually exclusive with the 
\fBu\fP option.
.TP 5
.B W
.I Dump
tells the operator what file systems need to be dumped.
This information is gleaned from the files
.I /etc/dumpdates
and
.I /etc/fstab.
The
.B W
option causes
.I dump
to print out, for each file system in
.I /etc/dumpdates
the most recent dump date and level,
and highlights those file systems that should be dumped.
If the 
.B W
option is set, all other options are ignored, and
.I dump
exits immediately.
.TP 5
.B w
Is like W, but prints only those filesystems which need to be dumped.
.TP 5
.B n
Whenever
.I dump
requires operator attention,
notify by means similar to a
.I wall(1)
all of the operators in the group \*(lqoperator\*(rq.
.PP
If no arguments are given,
the
.I key
is assumed to be
.B 9u
and a default file system is dumped
to the default tape.
.PP
.I Dump
requires operator intervention on these conditions:
end of tape,
end of dump,
tape write error,
tape open error or
disk read error (if there are more than a threshold of 32).
In addition to alerting all operators implied by the
.B n
key,
.I dump
interacts with the operator on 
.I dump's
control terminal at times when
.I dump
can no longer proceed,
or if something is grossly wrong.
All questions
.I dump
poses
.B must
be answered by typing \*(lqyes\*(rq or \*(lqno\*(rq,
appropriately.
.PP
Since making a dump involves a lot of time and effort for full dumps,
.I dump
checkpoints itself at the start of each tape volume.
If writing that volume fails for some reason,
.I dump
will,
with operator permission,
restart itself from the checkpoint
after the old tape has been rewound and removed,
and a new tape has been mounted.
.PP
.I Dump
tells the operator what is going on at periodic intervals,
including usually low estimates of the number of blocks to write,
the number of tapes it will take, the time to completion, and
the time to the tape change.
The output is verbose,
so that others know that the terminal
controlling
.I dump
is busy,
and will be for some time.
.PP
Now a short suggestion on how to
perform dumps.
Start with a full level 0 dump
.PP
	dump 0un
.PP
Next, dumps of active file 
systems are taken on a daily basis,
using a modified Tower of Hanoi algorithm,
with this sequence of dump levels:
.ce 1
3 2 5 4 7 6 9 8 9 9 ...
For the daily dumps, a set of 10 tapes per dumped file system
is used on a cyclical basis.
Each week, a level 1 dump is taken, and
the daily Hanoi sequence repeats with 3.
For weekly dumps, a set of 5 tapes per dumped file system is
used, also on a cyclical basis.
Each month, a level 0 dump is taken
on a set of fresh tapes that is saved forever.
.SH FILES
.nf
.ta \w'/etc/dumpdates\ \ 'u
/dev/rxp0a	default filesystem to dump from
/dev/rmt0	default tape unit to dump to
/etc/ddate	old format dump date record (obsolete after \fB\-J\fR option)
/etc/dumpdates	new format dump date record 
/etc/fstab	Dump table: file systems and frequency
/etc/group	to find group \fIoperator\fP
.fi
.DT
.br
.SH "SEE ALSO"
restor(8), rdump(8), dump(5), fstab(5), dumpdir(8)
.SH DIAGNOSTICS
Many, and verbose.
.SH BUGS
.PP
Sizes are based on 1600 BPI blocked tape;
the raw magtape device has to be used to approach these densities.
Fewer than 32 read errors on the filesystem are ignored.
Each reel requires a new process, so parent processes for
reels already written just hang around until the entire tape
is written.
.PP
It would be nice if
.I dump
knew about the dump sequence,
kept track of the tapes scribbled on,
told the operator which tape to mount when,
and provided more assistance
for the operator running
.I restor.
